package sk.tonyb.library.projectpaths;

/** 
 * Interface, which define methods used by various ProjectPath processors. <br>
 *  
 * @author Anton Balucha
 * @since 23.10.2011
 * @last_modified 23.10.2011
 */
public interface IProjectPath {

	/** SYSTEM_PROPERTY_OS_NAME = "os.name" */
	public static final String SYSTEM_PROPERTY_OS_NAME = "os.name";
	/** SYSTEM_PROPERTY_USER_DIR = "user.dir" */
	public static final String SYSTEM_PROPERTY_USER_DIR = "user.dir";
	/** OPERATION_SYSTEM_WIN = "win" */
	public static final String OPERATION_SYSTEM_WIN = "win";
	/** WEB_INF = "WEB-INF" */
	public static final String WEB_INF = "WEB-INF";
	/** BIN = "bin" */
	public static final String BIN = "bin";
	/** CLASSES = "classes" */
	public static final String CLASSES = "classes";
	/** CONFIGURATION_DIRECTORY = "config" */
	public static final String CONFIGURATION_DIRECTORY = "config";
	/** CONFIGURATION_FILE_NAME = "config.xml" */
	public static final String CONFIGURATION_FILE_NAME = "config.xml";
	/** CONFIGURATION_FILE_NAME_CONFIG_XML = "config.xml" */
	public static final String CONFIGURATION_FILE_NAME_CONFIG_XML = "config.xml";
	/** CONFIGURATION_FILE_NAME_CONFIG_PROPERTIES = "config.properties" */
	public static final String CONFIGURATION_FILE_NAME_CONFIG_PROPERTIES = "config.properties";

	/** Return class source. */
	public String getClassSource();
	
	/** Return project name. */
	public String getProjectName();
	
	/** Return path to project. */
	public String getPathToProject();
	
	/** Return path with project. */
	public String getPathToProjectDirectory();
	
	/** Return path to data directory. */
	public String getPathToWebInf();
	
	/** Return path to bin. */
	public String getPathToBinDirectory();
	
	/** Return path to classes. */
	public String getPathClassesDirectory();
	
	/** Return path to configuration directory. */
	public String getPathConfigurationDirectory();
	
	/** Return path to configuration directory. */
	public String getPathConfigurationFile();
	
	/** Method, which print values. */
	public void printValues();
}
